Proving Properties about Lists Using Containers

نویسندگان

  • Rawle C. S. Prince
  • Neil Ghani
  • Conor McBride
چکیده

Bundy and Richardson [7] presented a technique for reasoning about lists using ellipsis (the dots in 1+2+ . . .+10), where a polymorphic function, denoted by 2, is used to encapsulate recursive definitions of list functions and a portrayal system using ellipsis gives an informal proof. We highlight certain limitations of this technique and address these limitations using the recently developed theory of containers which capture the idea that many important datatypes consist of templates where data is stored. We implement our ideas in Coq and demonstrate how they can be used to prove theorems that eluded Bundy and Richardson in [7].

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Aspects of the theory of containers within automated theorem proving

This thesis explores applications of the theory of containers within automated theorem proving. Container theory provides a foundational analysis of data types as containers, specified by a type S of shapes and a function P assigning to each shape its set of positions for data. More importantly, a representation theorem guarantees that polymorphic functions between container data types are give...

متن کامل

Proving Properties about Functions on Lists Involving Element Tests

Bundy and Richardson [4] developed a method for reasoning about functions manipulating lists which is based on separating shape from content, and then exploiting a mathematically convenient representation for expressing shape-only manipulations. Later, Prince et al. [7] extended the technique to other data structures, and gave it a more formal basis via the theory of containers. All these resul...

متن کامل

Deciding Properties of Lists using Containers

We exploit the ability to represent data types as container functors [2,1,3] to develop a novel approach to proving properties of lists using arithmetic decision procedures. Containers capture the idea that concrete data types can be characterised by specifying the shape values take and for every possible shape, explaining where positions within that shape are stored. More importantly, a repres...

متن کامل

Reasoning from Radically Incomplete Information: The Case of Containers

In domains such as physical reasoning, humans, unlike programs for scientific computation, can often arrive at useful predictions based on radically incomplete information. Consider the capacity to reason about containers ― boxes, bottles, cups, pails, bags, etc ― and the interactions of containers with their contents. You can reason that you can carry groceries in a grocery bag and that they w...

متن کامل

Correct Code Containing Containers

For critical software development, containers such as lists, vectors, sets or maps are an attractive alternative to ad-hoc data structures based on pointers. As standards like DO-178C put formal verification and testing on an equal footing, it is important to give users the ability to apply both to the verification of code using containers. In this paper, we present a definition of containers w...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008